#include<stdio.h>
#include"process.h"
#include<unistd.h>
#include<string.h>

#define NUM 101
#define pnum 6
#define SYMBOL '#'
#define label '.'
const char*ret = "|/-\\";
//version 2 真实的进度条，根据具体比如下载量，来动态刷新

void process1(double toal,double current)
{
    
    
    double percent = (current/toal)*100;
    //printf("%0.1lf%%\r",percent);
    //fflush(stdout);
    char bar[NUM];
    memset(bar,'\0',sizeof(bar));
    int i = 0;
    for(i = 0; i<(int)percent;i++)
    {
       bar[i] = SYMBOL; 
    }
    
    char lab[pnum+1];
    memset(lab,'\0',sizeof(lab));
    static int num = 0;
    num++;
    num%=pnum;
   // if(num==0)
   //     memset(lab,'\0',sizeof(lab));
   
    int j = 0;
    for(j=0;j<pnum;j++)
    {
        if(j<num) lab[j]=label;
        else lab[j]=' ';
    }
   // int z = 0;
   // for(z=0;z<pnum;z++)
   // {
   //     lab[z] = ' ';
   // }
   // int j = 0;
   // for(j=0;j<num;j++)
   // {
   //     lab[j]=label;
   // }

    int r = strlen(ret);
    printf("[%-100s][%0.1lf%%]%c%s\r",bar,percent,ret[(int)percent%r],lab);
    fflush(stdout);

    //memset(lab,'\0',sizeof(lab));
}

// version 1
//
//void process()
//{
//    char bar[NUM];
//    memset(bar,'\0',sizeof(bar));
//    int cou = 0;
//    char b[]={'|','/','-','\\'};
//    int a = strlen(b);
//    while(cou<=100)
//    {
//        printf("[%-100s][%d%%][%c]\r",bar,cou,b[cou%a]);
//        fflush(stdout);
//        bar[cou]=SYMBOL;
//        cou++;
//        if(cou!=100)
//        bar[cou]='>';
//        usleep(50000);
//    }
//    printf("\r\n");
//}
